package com.cm.caseManagement.pojo.entity;
import com.cm.caseManagement.annotation.Excel;
import com.cm.caseManagement.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 委托记录对象 cm_entrust_record
 *
 * @author ruoyi
 * @date 2025-10-05
 */
public class CmEntrustRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 委托记录id */
    private Long id;

    /** 外部唯一id */
    @Excel(name = "外部唯一id")
    private String publicId;

    /** 批次id */
    @Excel(name = "批次id")
    private Long batchId;

    /** 批次编号 */
    @Excel(name = "批次编号")
    private String batchNum;

    /** 负责人id */
    @Excel(name = "负责人id")
    private Long principalId;

    /** 承接人id */
    @Excel(name = "承接人id")
    private Long contractorId;

    /** 操作人id（上传人） */
    @Excel(name = "操作人id", readConverterExp = "上=传人")
    private Long operatorId;

    /** 任务代理书id */
    @Excel(name = "任务代理书id")
    private Long taskAgentBookId;

    /** 任务明细id */
    @Excel(name = "任务明细id")
    private Long taskDetailsId;

    /** 上传时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date uploadTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setPublicId(String publicId)
    {
        this.publicId = publicId;
    }

    public String getPublicId()
    {
        return publicId;
    }

    public void setBatchId(Long batchId)
    {
        this.batchId = batchId;
    }

    public Long getBatchId()
    {
        return batchId;
    }

    public void setBatchNum(String batchNum)
    {
        this.batchNum = batchNum;
    }

    public String getBatchNum()
    {
        return batchNum;
    }

    public void setPrincipalId(Long principalId)
    {
        this.principalId = principalId;
    }

    public Long getPrincipalId()
    {
        return principalId;
    }

    public void setContractorId(Long contractorId)
    {
        this.contractorId = contractorId;
    }

    public Long getContractorId()
    {
        return contractorId;
    }

    public void setOperatorId(Long operatorId)
    {
        this.operatorId = operatorId;
    }

    public Long getOperatorId()
    {
        return operatorId;
    }

    public void setTaskAgentBookId(Long taskAgentBookId)
    {
        this.taskAgentBookId = taskAgentBookId;
    }

    public Long getTaskAgentBookId()
    {
        return taskAgentBookId;
    }

    public void setTaskDetailsId(Long taskDetailsId)
    {
        this.taskDetailsId = taskDetailsId;
    }

    public Long getTaskDetailsId()
    {
        return taskDetailsId;
    }

    public void setUploadTime(Date uploadTime)
    {
        this.uploadTime = uploadTime;
    }

    public Date getUploadTime()
    {
        return uploadTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("publicId", getPublicId())
            .append("batchId", getBatchId())
            .append("batchNum", getBatchNum())
            .append("principalId", getPrincipalId())
            .append("contractorId", getContractorId())
            .append("operatorId", getOperatorId())
            .append("taskAgentBookId", getTaskAgentBookId())
            .append("taskDetailsId", getTaskDetailsId())
            .append("uploadTime", getUploadTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
